#!/bin/bash

SHDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="$(dirname $SHDIR)"

RVMASTER="$(dirname $DIR)"
RVMON=$RVMASTER/src/rvmaster/src
RVMONINC=$RVMASTER/src/rvmaster/include

PARAMS=$@

function generate(){
	java -cp "$DIR/dist/ROSMOP.jar" rosmop.Main $@
}

function rvcompile(){
	catkin_make
	source devel/setup.sh
}

if [ -f "$DIR/dist/ROSMOP.jar" ];
then
	FILENAME=$1
	case "$FILENAME" in
	*/)
		FILENAME=${FILENAME%"/"}
#  		echo "slash $FILENAME"
  		;;
	*)
		FILENAME=${FILENAME%".rv"}
		FILENAME="$(dirname $FILENAME)"
#		echo "no slash $FILENAME"
		;;
	esac
		
	echo "Monitor generation..."

	RES=$(generate $PARAMS)
	echo $RES

	if [ -f "$FILENAME/rvmonitor.cpp" ];
	then
		mv $FILENAME/rvmonitor.cpp $RVMON
		mv $FILENAME/rvmonitor.h $RVMONINC

		echo "Generated files are copied."
		echo "Compiling RVMaster..."

		export -f rvcompile
		#gnome-terminal --working-directory=$RVMASTER --execute bash -c "rvcompile ; bash"
		$TERM -e bash -c "cd $RVMASTER; rvcompile; bash" &

		echo "Check compilation status on the new terminal."
	else
		echo "Something went wrong. Monitors are not generated."
	fi
else
   echo "Binaries are not created. Call \"ant\" first."
fi


